1 link tagged with all of: loading states + performance + preloading + routing
Click any tag below to further narrow down your results
Links
The article argues that instead of sprinkling spinners and skeletons throughout components, you can shift data fetching to route-level loaders and preload data on hover or in-view before navigation. Using route transitions lets you delay committing a route change until all required data is ready, keeping the app fast and eliminating most loading UI. A global fallback indicator covers refreshes or genuinely slow loads, while blank spots during development highlight missed preloads.
- Route-level loaders that preload data on hover/in-view let routers delay navigation until data is ready, eliminating most component-level spinners and skeletons.
- Blank spots during development (rather than hidden skeletons) reveal exactly which route loaders are missing preload logic.
- A single global loading indicator (like GitHub's top progress bar) handles genuinely slow loads instead of scattering local spinners throughout the UI.
- Component data-fetching logic simplifies to a binary: render the data if it exists, or render nothing at all.